package com.letv.business.flow.album.listener;

/**
 * videoview fragment对外提供的接口
 * 
 * @author zhuqiao
 * 
 */
public interface PlayVideoFragmentListener {

    /**
     * 初始化播放器
     * 
     * @param isLocal
     */
    void initVideoView(boolean isLocal);

    void start();

    void pause();

    void stopPlayback();

    boolean isPlaying();

    boolean isPaused();

    /**
     * 重置播放状态
     */
    void resetPlayFlag();

    void setEnforcementPause(boolean pause);

    void setEnforcementWait(boolean wait);

    boolean isEnforcementPause();

    boolean isSeekTo0();

    /**
     * 设置是否该seek到0
     * 
     * @param seek
     */
    void setIsSeekTo0(boolean seek);

    void seekTo(long position);

    long getCurrentPosition();

    /**
     * 得到当前缓冲时间点
     */
    int getBufferPercentage();

    /**
     * 开始播放本地视频
     * 
     * @param uri
     * @param mesc
     */
    void startPlayLocal(String uri, int mesc);

    /**
     * 播放在线视频
     * 
     * @param uriString
     * @param isLive
     * @param isDolby
     * @param msec
     */
    void startPlayNet(String uriString, boolean isLive, boolean isDolby, int msec,
                      boolean isChangeStream);

    /**
     * 获取当前数据库里的播放记录
     * 
     * @param pid
     * @param vid
     * @param isDownload
     * @return
     */
//    public PlayRecord getPoint(int pid, int vid, boolean isDownload);

    /**
     * 开启cde
     * 
     * @param url
     */
    void startCde(String url);

    /**
     * 关闭cde
     */
    void stopCde();

    /**
     * 回调浮球
     * 
     * @param pageId
     * @param cid
     */
    void handlerFloatBall(String pageId, int cid);

    void startOverall();

    void finishPlayer(boolean isJumpToPip);

    void hideRecommendTip();

}
